class Solution {
public:
    vector<int> exchange(vector<int>& nums) {
        //首尾指针
        int left=0;
        int right=nums.size()-1;

        while(left<right)
        {
            //逻辑：左边奇数忽略找到偶数，右边偶数忽略找到奇数
            while(left<right&&(nums[left]&1))
            {
                //奇数
                left++;
            }
            while(left<right&&!(nums[right]&1))
            {
                //偶数
                right--;
            }
            if(left<right)
            {
                swap(nums[left],nums[right]);
            }
        }
        return nums;
    }
};